package com.lanswon.qzsmk.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * 卡控制表
 * @author sun
 *
 */
public class CardControl implements Serializable {
    /**
	 * 
	 */
	private static final long serialVersionUID = 6762713993466134372L;

	/** 序号 */
    private Integer cardControlId;
    
	/** 卡数据序号 */
    private Integer cardDataId;

    /** 卡位置 0.未入库 1.中心库房 2.网点 3.柜员 4.代理点 5.市民 6.制卡间 9.其他 */
    private String cardPosition;
    
    //20181213 hgl 增加2行
    /** 卡位置在柜员处的柜员编号 */
    private String cardPositionByEmp;

    /** 卡状态 0.未启用 1.正常 2.异常9.注销 */
    private String cardStatus;

    /** 预计申请日期 */
    private Date applyDate;

    /** 卡商发给中心库房的时间 制卡完成时间 */
    private Date cardDate;

    /** 实际发给客户的日期 */
    private Date releaseDate;

    /** 注销日期 即注销登记的日期，对于补卡时原卡需注销在此处填写注销日期 */
    private Date logoutDate;

    /** 注销原因 数据字典，用于描述注销的原因 */
    private String logoutReason;

    /** 黑名单标识 1.正常 2.黑名单 */
    private String blacklistFlag;

    /** 卡损坏状况  0-未损坏，1-非人为损坏，2-人为损坏 */
    private String dmgFlag;

    /** 当前卡过程ID  卡片管理表中的主键 */
    private String currProcId;
    
//
//    /** 当前卡过程代码 详细定义见“卡片管理表中卡过程代码 */
//    private String currProcCode;
//
//    /** 当前卡过程名称 */
//    private String currProcName;
//
//    /** 当前过程发生日期 */
//    private Date currProcDate;

    /** 备注 */
    private String remark;

    /** 创建柜员号 */
    private String crtOperator;

    /** 创建日期 */
    private Date crtDate;

    /** 最后修改柜员号 */
    private String lastOperator;

    /** 最后修改日期 */
    private Date lastDate;

    /** 申请批次号 批量申请时的申请批次号 */
    private String applyBatchNo;

    /** 任务编号  与制卡任务编号进行外键关联 */
    private String cardTaskNo;

    /** 该卡是否可读  0不可读       1可读    默认1 */
    private String isRead;
    
    /** 换卡日期 */
	private Date changeCardDate;
	
	 /** 补卡日期*/
    private Date SupplementCardDate;
    
    /** 申领类别 */
    private String applyType;
    
    /** 申领状态 */
    private String claimStatus;
    
    /** 挂失日期 */
    private Date lossDate;
    
    /** 挂失原因 */
    private String lossReason;
    
    private CardData cardData;
    
    private CardProdunctDefinition cardProductDefinition;
    
	/*对应的凭证信息*/
    private List<Cert> certList;
    
    /*对应的任务编号的信息，一对一*/
    private CardTask cardTask;
    
    private int flag;
    
	public List<Cert> getCertList() {
		return certList;
	}

	public void setCertList(List<Cert> certList) {
		this.certList = certList;
	}

	public int getFlag() {
		return flag;
	}

	public void setFlag(int flag) {
		this.flag = flag;
	}
    
	public CardTask getCardTask() {
		return cardTask;
	}

	public void setCardTask(CardTask cardTask) {
		this.cardTask = cardTask;
	}

	public List<Cert> getCert() {
		return certList;
	}

	public void setCert(List<Cert> cert) {
		this.certList = cert;
	}

	public CardData getCardData() {
		return cardData;
	}

	public void setCardData(CardData cardData) {
		this.cardData = cardData;
	}

	public Date getLossDate() {
		return lossDate;
	}

	public void setLossDate(Date lossDate) {
		this.lossDate = lossDate;
	}

	public String getLossReason() {
		return lossReason;
	}

	public void setLossReason(String lossReason) {
		this.lossReason = lossReason;
	}

	public String getClaimStatus() {
		return claimStatus;
	}

	public void setClaimStatus(String claimStatus) {
		this.claimStatus = claimStatus;
	}

	public String getApplyType() {
  		return applyType;
  	}

  	public void setApplyType(String applyType) {
  		this.applyType = applyType;
  	}
    
	public Date getChangeCardDate() {
		return changeCardDate;
	}

	public void setChangeCardDate(Date changeCardDate) {
		this.changeCardDate = changeCardDate;
	}

	public Date getSupplementCardDate() {
		return SupplementCardDate;
	}

	public void setSupplementCardDate(Date supplementCardDate) {
		SupplementCardDate = supplementCardDate;
	}

	public String getIsRead() {
		return isRead;
	}

	public void setIsRead(String isRead) {
		this.isRead = isRead;
	}

	public Integer getCardControlId() {
        return cardControlId;
    }

    public void setCardControlId(Integer cardControlId) {
        this.cardControlId = cardControlId;
    }

    public String getCardPosition() {
        return cardPosition;
    }

    public void setCardPosition(String cardPosition) {
        this.cardPosition = cardPosition == null ? null : cardPosition.trim();
    }

    public String getCardStatus() {
        return cardStatus;
    }

    public void setCardStatus(String cardStatus) {
        this.cardStatus = cardStatus == null ? null : cardStatus.trim();
    }

    public Date getApplyDate() {
        return applyDate;
    }

    public void setApplyDate(Date applyDate) {
        this.applyDate = applyDate;
    }

    public Date getCardDate() {
        return cardDate;
    }

    public void setCardDate(Date cardDate) {
        this.cardDate = cardDate;
    }

    public Date getReleaseDate() {
        return releaseDate;
    }

    public void setReleaseDate(Date releaseDate) {
        this.releaseDate = releaseDate;
    }

    public Date getLogoutDate() {
        return logoutDate;
    }

    public void setLogoutDate(Date logoutDate) {
        this.logoutDate = logoutDate;
    }

    public String getLogoutReason() {
        return logoutReason;
    }

    public void setLogoutReason(String logoutReason) {
        this.logoutReason = logoutReason == null ? null : logoutReason.trim();
    }

    public String getBlacklistFlag() {
        return blacklistFlag;
    }

    public void setBlacklistFlag(String blacklistFlag) {
        this.blacklistFlag = blacklistFlag == null ? null : blacklistFlag.trim();
    }

    public String getDmgFlag() {
        return dmgFlag;
    }

    public void setDmgFlag(String dmgFlag) {
        this.dmgFlag = dmgFlag == null ? null : dmgFlag.trim();
    }

    public String getCurrProcId() {
        return currProcId;
    }

    public void setCurrProcId(String currProcId) {
        this.currProcId = currProcId == null ? null : currProcId.trim();
    }
    
    
//    public String getCurrProcCode() {
//        return currProcCode;
//    }
//
//    public void setCurrProcCode(String currProcCode) {
//        this.currProcCode = currProcCode == null ? null : currProcCode.trim();
//    }
//
//    public String getCurrProcName() {
//        return currProcName;
//    }
//
//    public void setCurrProcName(String currProcName) {
//        this.currProcName = currProcName == null ? null : currProcName.trim();
//    }
//
//    public Date getCurrProcDate() {
//        return currProcDate;
//    }
//
//    public void setCurrProcDate(Date currProcDate) {
//        this.currProcDate = currProcDate;
//    }

    public String getCardPoaitionByEmp() {
		return cardPositionByEmp;
	}

	public void setCardPoaitionByEmp(String cardPoaitionByEmp) {
		this.cardPositionByEmp = cardPoaitionByEmp;
	}

	public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getCrtOperator() {
        return crtOperator;
    }

    public void setCrtOperator(String crtOperator) {
        this.crtOperator = crtOperator == null ? null : crtOperator.trim();
    }

    public Date getCrtDate() {
        return crtDate;
    }

    public void setCrtDate(Date crtDate) {
        this.crtDate = crtDate;
    }

    public String getLastOperator() {
        return lastOperator;
    }

    public void setLastOperator(String lastOperator) {
        this.lastOperator = lastOperator == null ? null : lastOperator.trim();
    }

    public Date getLastDate() {
        return lastDate;
    }

    public void setLastDate(Date lastDate) {
        this.lastDate = lastDate;
    }

    public String getApplyBatchNo() {
        return applyBatchNo;
    }

    public void setApplyBatchNo(String applyBatchNo) {
        this.applyBatchNo = applyBatchNo == null ? null : applyBatchNo.trim();
    }

    public String getCardTaskNo() {
        return cardTaskNo;
    }

    public void setCardTaskNo(String cardTaskNo) {
        this.cardTaskNo = cardTaskNo == null ? null : cardTaskNo.trim();
    }
    

    public Integer getCardDataId() {
		return cardDataId;
	}

	public void setCardDataId(Integer cardDataId) {
		this.cardDataId = cardDataId;
	}
	
	public CardProdunctDefinition getCardProductDefinition() {
		return cardProductDefinition;
	}

	public void setCardProductDefinition(CardProdunctDefinition cardProductDefinition) {
		this.cardProductDefinition = cardProductDefinition;
	}

	@Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", cardControlId=").append(cardControlId);
        sb.append(", cardPosition=").append(cardPosition);
        sb.append(", cardPositionByEmp=").append(cardPositionByEmp);
        sb.append(", cardStatus=").append(cardStatus);
        sb.append(", applyDate=").append(applyDate);
        sb.append(", cardDate=").append(cardDate);
        sb.append(", releaseDate=").append(releaseDate);
        sb.append(", logoutDate=").append(logoutDate);
        sb.append(", logoutReason=").append(logoutReason);
        sb.append(", blacklistFlag=").append(blacklistFlag);
        sb.append(", dmgFlag=").append(dmgFlag);
        sb.append(", currProcId=").append(currProcId);
//        sb.append(", claimStatus=").append(claimStatus);
//        sb.append(", currProcName=").append(currProcName);
//        sb.append(", currProcDate=").append(currProcDate);
        sb.append(", remark=").append(remark);
        sb.append(", crtOperator=").append(crtOperator);
        sb.append(", crtDate=").append(crtDate);
        sb.append(", lastOperator=").append(lastOperator);
        sb.append(", lastDate=").append(lastDate);
        sb.append(", applyBatchNo=").append(applyBatchNo);
        sb.append(", cardTaskNo=").append(cardTaskNo);
        sb.append(", cardData=").append(cardData);
        sb.append(", cardData=").append(cardData);
        sb.append(", cert=").append(certList); //
        sb.append(", cardTask=").append(cardTask);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

	
}